package edu.yngsxy.wkstudy.core.model.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import lombok.Data;


/**
 * 通用查询DTO父类：封装所有查询场景共用的分页参数
 */
@Data
public class BaseQueryDTO {
    // 页码：默认1，最小值1
    @Min(value = 1, message = "页码不能小于1")
    @Schema(title = "页码", description = "默认为1，大于等于1",minimum = "1", example = "1",requiredMode =Schema.RequiredMode.REQUIRED)
    private Integer pageNum = 1;

    // 每页条数：默认10，最小值1，最大值100（避免一次性查询过多数据）
    @Min(value = 1, message = "每页条数不能小于1")
    @Max(value = 100, message = "每页条数不能超过100")
    @Schema(title = "每页条数", description = "1~100，默认为10",minimum = "1",maximum = "100",example = "10",requiredMode =Schema.RequiredMode.REQUIRED)
    private Integer pageSize = 10;
    // 排序字段
    // private String sortField;
    // 排序方式：asc升序，desc降序
    // private String sortOrder;
    // 其他查询条件
}